// 分类模块
// 导入顶级目录
import { topCategory } from '@/api/constants.js'
import { findAllCategory } from '@/api/index.js'
export default {
  namespaced: true,
  state () {
    return {
      // 分类信息集合  先给个默认的数据 默认渲染 不至于接口调用时报错
      list: topCategory.map((item) => ({ name: item }))
    }
  },
  mutations: {
    setList (state, value) {
      state.list = value
    },
    // 定义方法控制菜单显示
    show (state, id) {
      // 根据id匹配找到当前项
      const currItem = state.list.find((item) => (item.id = id))
      currItem.open = true
    },
    // 定义方法控制菜单隐藏
    hide (state, id) {
      const currItem = state.list.find((item) => (item.id = id))
      currItem.open = false
    }
  },
  // 调用接口 获取分类信息数据并修改
  actions: {
    async getList ({ commit }) {
      const res = await findAllCategory()
      // 设置布尔值属性控制显示和隐藏
      res.result.forEach((item) => {
        item.open = false
      })
      commit('setList', res.result)
      // console.log(res)
    }
  }
}
